User friendly remote system interface with menu highlighting

ABSTRACT

A system, method, and medium for enhancing a GUI and viewing environment for a computer user is disclosed. Enabling a user to fully navigate and operate a computer through the use of a remote control device, the present invention includes at least a PC mode of operation and a theater mode of operation, wherein the theater mode is designed for distance use with the remote device. While operating in theater mode, received function key signals are interpreted by the computer system to operate various functions which have been modified to accommodate remote viewing and control. To enable the remote device to fully control the applications executable on the computer, the disclosed process notifies the various applications of the current operating mode.

BACKGROUND OF THE INVENTION

[0001] 1. Technical Field

[0002] The present invention relates generally to an improved userinterface for a computer operating system which provides differentoperating modes and enhanced features. The present invention isparticularly useful in conjunction with an entertainment setting, suchas when a computer is used from a distance and/or in conjunction with atelevision broadcast, movie, or a sporting event.

[0003] 2. Related Art

[0004] The use of personal computers in connection with televisions andother mass media has recently become a reality. Some personal computerscan now be equipped with plug-in television boards which permit viewingof a television broadcast in a window on the computer monitor.Additionally, so-called “large screen” televisions providing combinedtelevision and PC viewing capabilities have also been introduced. Onesuch product, announced in 1996 by the Gateway Corporation, provides apersonal computer system with a large viewing screen, and a wirelesskeyboard, remote control, and mouse.

[0005] The combination of personal computer functions with televisionand other media/entertainment functions creates several problems when asingle viewing display is used for both functions. For example,traditional remote controls associated with televisions do not includekeys which are useful for computer applications. Providing a separateremote control for the television and one for computer functions,however, unfortunately contributes to the proliferation of remotecontrols in a house.

[0006] The aforementioned Gateway product provides some limited supportfor controlling computer functions from an integrated remote control.However, it fails to solve many problems associated with providingcomputer functions in a large-screen setting. Moreover, displayingconventional computer-related functions on a television screen during atelevision broadcast clutters up the screen and detracts from theentertainment value of the programming. Thus, merely transferringcomputer related user interface features from a computer display to thelarger screen format are disadvantageous.

[0007] As one example, computers which use a windows-based operatingsystem such as Windows95 provide a “taskbar” display component at thebottom part of the screen which is normally fixed on the screen. Thistaskbar often includes a “START” button at the lower left hand cornerwhich, when activated by the user via a mouse or keyboard, displays alist of options for starting or “launching” applications. Displayingsuch a taskbar while watching a television program detracts from theprogram and takes up valuable display space. Moreover, when a user issitting on a couch, requiring the user to use a mouse or keyboard toactivate the start button is inconvenient. Once the user launches anapplication program, it is a further inconvenience to require that theviewer use a keyboard or mouse to activate various pull-down menus andthe like for the application program. Consequently, the conventionaldisplay model for launching and interacting with programs in a windowedenvironment cannot be readily adapted to a remote control televisionenvironment.

[0008] Another computer feature normally provided in a windowed displayenvironment such as Windows95 is a display menu with multiple choiceswhich can be selected by mouse or keyboard. For example, pressing the“START” button in Windows95 causes a display to be generated withoptions such as Programs, Settings, Find, Help, Shut Down, etc. Theunderlined characters in the previous list represents “accelerators”which permit the user to quickly select a desired item by pressing asingle keyboard key (e.g., “p”, “s”, or “u”) rather than scrollingthrough the list with a mouse or arrow key. Unfortunately, if a vieweruses a remote control device which lacks alphabetic characters, theseshortcut selection techniques cannot be used. Moreover, the choices arenot mutually exclusive (e.g., note that the letter “S” does not uniquelydistinguish between “settings” and “shut down”; thus, the alternative“u” designator must be used to select “shut down”). Although onesolution is to force the user to scroll up or down using arrow keys toselect a choice, this is not always convenient for a remote user.Consequently, a need exists to improve the way in which a user navigatesthrough a menu list when using a remote control device to controlcomputer functions. Moreover, providing a conventional cascading typemenu display in an entertainment environment uses up valuable displayspace, causing for example a television program to be obscured with menuoptions.

[0009] Some keyboards include an “Application” dedicated key which maybe configured by software. Pressing such a button, for example, maycause a menu to be shown with options such as cut, paste, copy, etc.However, the button operates the same way regardless of the display modein which computer is operating.

[0010] Another problem which can occur when computer functions areimplemented on a large screen such as a large-screen television displayis that menu selection choices are not adequately distinguishable fromthe background. For example, if a television program is displayed on thescreen and the user activates a menu to select a choice, theconventional menu choice highlighting techniques may not permit theselected choice to be clearly distinguished against the movingbackground. Consequently, a need exists to enhance highlighted menuchoices in such an environment.

[0011] Another problem which occurs when a computer function isimplemented on a large-screen display is that screen display resolutionswhich are suitable for a smaller screen display may not be suitable fora larger screen. Merely allowing the user to change the resolution sizeon the larger screen, as is conventional, does not adequately permit theviewer to control how large the resulting window elements are. Forexample, switching the screen resolution to 800 by 600 pixels for alarge screen TV will result in smaller icons and menu items, thusdetracting from the advantages of using a larger screen. Consequently, aneed exists to permit the user to more flexibly control the size ofscreen components in relation to different variables.

[0012] Yet another problem concerns how application programs behave in awindowed operating system such as Windows95. The conventionalapplication programming model assumes that other application programscan be simultaneously executing, but does not take into account the factthat a television program or movie may be in progress on the computerdisplay, and does not take into account the fact that in such a “theatermode” environment the user may have access only to a simple remotecontrol device rather than a conventional keyboard or mouse.Consequently, a need exists to provide an enhanced mode in whichapplication programs behave differently when a theater mode has beenactivated, in order to simplify the operation of the applications when aremote control is used.

[0013] Finally, conventional techniques for indicating to a user thecontents of a folder (e.g., text files, executable programs, soundfiles, movies, etc.) often lack sufficient detail to permit the viewerto recognize the nature of the contents of any particular item. Forexample, the user may merely be provided with an indication that afolder contains 3 text files, a word processor application, and a moviehaving a particular name. The user must actually start the movie to seewhether the movie is a desirable one, and the user must either open thetext files or launch a viewer application to display partial contents ofthe text file. In short, there is no easy way for the user to quicklydetermine whether any particular folder item is of interest.

SUMMARY OF THE INVENTION

[0014] The present invention generally relates to an operatingenvironment for controlling a computer using limited input devices, suchas a remote control device. Through providing an enhanced operatingenvironment directed to limited input control as well as a system andmethod for transitioning to and from the enhanced remote operatingsystem, the problems of the prior art are overcome.

[0015] The present invention provides a graphical user interface usableto control a computer system using, for example, a remote control devicewhich includes buttons enabling specific functions to aid in theoperation of the computer. In order to compensate for the large distancebetween a user and a large-display, the present invention providessimplified features which permit the user to fully control computerfunctions on a large screen.

[0016] To facilitate such control, an enhanced remote control having twoadditional buttons, a start button and a menu button, is employed. Thestart button may be application independent and allows a user to quicklypick between available applications or tasks. The menu button iscontemplated to be application dependent in that the options availablethrough its operation may be tailored to the currently runningapplication. For example, if running a spread sheet financial program,pressing the menu button may provide spread sheet specific menu optionsincluding applications and tasks like copy cell, copy formula, etc. Ifrunning a CD player program, pressing the menu button may provide CDspecific menu options including play, pause, stop, reverse, fastforward, etc.

[0017] To facilitate the easy selection of a popular application or taskthe present invention includes numerical accelerators which aredisplayed on a user's display corresponding to available menu items. Toselect a specific application or task, a user presses the appropriatenumerical button on the user's remote control.

[0018] To facilitate the user's navigation through multiple levels ofmenus, the present invention includes the use of enhanced scrollingtechniques to allow users to quickly select applications from listedchoices without navigating through multiple levels of nested orcascading menus.

[0019] The present invention also includes highlighting selections of aselection menu so as to enable a user to determine easily from adistance the current position of a selection menu. For example, one wayof highlighting the current selection is through the use of a focusframe, an enlarged frame encircling the current selection. The inventionalso uses alternative colors to represent the current selection, eitherin combination with the focus frame or without the focus frame.

[0020] To assist a user in determining information about a listedapplication, the present invention includes previewing the listedapplications through a preview frame. The preview frame displaysinformation relating to the contents of a folder. To enable fasteraccess of the preview frame as well as prevent unnecessary loading ofsystem memory with an application before the application is actuallyrequested by the user, the invention determines the identity of acurrent selection and retrieves the contents of a data structure whichincludes the preview information of the current selection item. Insteadof the actual selection being loaded, a short preview of theapplication, or other material (a commercial for another application orproduct) may be displayed. Notably, the information as displayed by thepreview function described herein is not required to originate with theoriginal application. The preview information may include textualinformation, graphics, videos, sound clips and the like. The inventionalso supports interactive previews. For example, while displaying apreview of a game, a user may be allowed to at least minimally interactwith the preview to create the perception of actually playing the gameembodied in the current selected application.

[0021] Further, the present invention includes the addition of a secondgraphical user interface mode directed to current PC operatingfunctionality (requiring a more sophisticated input device such as amouse and/or a full keyboard, for normal operation). The operatingsystem of the present invention supports an ability to switch betweenthe first and second graphical user interface modes based on the inputdevice used to control the operating system. For example, when a userpresses a key on a keyboard, the system may switch to a normal PC modeof operation. Likewise, when a user presses a key on a remote control,the system may switch back to a theater mode of operation.

[0022] As a user switches modes of operation, the various applicationsare alerted to the change of mode of operation so that, when actuallyexecuted, the various applications present a GUI tailored for controlvia a limited input device from a distance. For example, theapplications are modified to be viewed and controlled from a distanceusing enlarged font types, minimized nesting of options, and contextsensitive function keys which change their operation based on therunning application.

[0023] Other features and advantages will become evident through thefollowing detailed description, figures and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024]FIG. 1 shows a computing environment suitable for use inconjunction with embodiments of the present invention.

[0025]FIG. 2 shows a screen image without a task bar or start button ascontemplated by embodiments of the present invention.

[0026]FIG. 3 shows a screen image including a start menu but no task baras contemplated by embodiments of the present invention.

[0027]FIG. 4 shows a remote control with start and menu buttons ascontemplated by embodiments of the present invention.

[0028]FIG. 5 shows a flowchart of a process for assigning and displayingaccelerators with applications on a menu as contemplated by embodimentsof the present invention.

[0029]FIG. 6 shows a flowchart of a process for accelerating selectionof applications using the symbols assigned with respect to FIG. 5 ascontemplated by embodiments of the present invention.

[0030]FIG. 7 shows first and second related start menus as contemplatedby embodiments of the present invention.

[0031]FIG. 8 shows a flowchart of a process for buffering inputs ofselection symbols as contemplated by embodiments of the presentinvention.

[0032]FIG. 9 shows a flowchart of a process for switching between modesof operation as contemplated by embodiments of the present invention.

[0033]FIG. 10 shows a flowchart of a process for displaying anapplication specific menu as contemplated by embodiments of the presentinvention.

[0034]FIGS. 11 and 12 show application specific menus displayed withvarious applications.

[0035]FIGS. 13, 14, and 15 show start menus of a registered size onscreens of various resolutions.

[0036]FIG. 16 shows the hierarchical processing layers as contemplatedby embodiments of the present invention.

[0037]FIG. 17 shows a start menu including a focus frame as contemplatedby embodiments of the present invention.

[0038]FIG. 18 shows a flowchart describing a process for moving the taskor application menu in relation to the focus frame.

[0039]FIGS. 19, 20, and 21 show various implementations of the menuscrolling technique shown in FIG. 18 as contemplated by embodiments ofthe present invention.

[0040]FIG. 22 shows a preview screen associated with a folder item ascontemplated by embodiments of the present invention.

[0041]FIG. 23 shows a flowchart for a process for displaying thecontents of a preview screen shown in FIG. 22 as contemplated byembodiments of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0042]FIG. 1 and the following discussions are intended to provide abrief general description of a suitable computing environment in whichthe invention may be implemented. Although not required, the inventionwill be described in the general context of computer-executableinstructions, such as program modules, being executed by a personalcomputer. Generally, program modules include routines, programs,objects, components, data structures, etc. that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that the invention may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, network PC's, minicomputers, mainframe computers, and thelike. The invention may also be practiced in distributed computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

[0043] With reference to FIG. 1, an exemplary system for implementingthe invention includes a general purpose computing device in the form ofa conventional personal computer 20, including a processing unit 21, asystem memory 22, and a system bus 23 that couples various systemcomponents including the system memory to the processing unit 21. Thesystem bus 23 may be any of several types of bus structures including amemory bus or memory controller, a peripheral bus, and a local bus usingany of a variety of bus architectures. The system memory includes readonly memory (ROM) 24 and random access memory (RAM) 25. A basicinput/output system 26 (BIOS), containing the basic routines that helptransfer information between elements within the personal computer 20,such as during start-up, is stored in ROM 24. The personal computer 20further includes a hard disk drive 27 for reading from and writing to ahard disk, not shown, a magnetic disk drive 28 for reading from andwriting to a removable magnetic disk 29, and an optical disk drive 30for reading from or writing to a removable optical disk 31 such as a CDROM, or other optical media. The hard disk drive 27, magnetic disk drive28, and optical disk drive 30 are connected to the system bus 23 by ahard disk drive interface 32, a magnetic disk drive interface 33, and anoptical drive interface 34, respectively. The drives and theirassociated computer-readable media provide nonvolatile storage ofcomputer readable instructions, data structures, program modules andother data for the personal computer 20. Although the exemplaryenvironment described herein employs a hard disk, a removable magneticdisk 29 and a removable optical disk 31, it should be appreciated bythose skilled in the art that other types of computer readable mediawhich can store data that is accessible by a computer, such as magneticcassettes, flash memory cards, digital versatile disks, Bernoullicartridges, random access memories (RAMs), read only memories (ROMs),and the like, may also be used in the exemplary operating environment.

[0044] A number of program modules may be stored on the hard disk,magnetic disk 29, optical disk 31, ROM 24, or RAM 25, including anoperating system 35, one or more application programs 36, other programmodules 37, and program data 38. A user may enter commands andinformation into the personal computer 20 through input devices such asa keyboard 40, a pointing device 42, and a remote control 55. Otherinput devices (not shown) may include a microphone, joystick, game pad,satellite disk, scanner or the like. These and other input devices areoften connected to the processing unit 21 through a serial portinterface 46 that is coupled to the system bus, but may be connected byother interfaces, such as a parallel port, game port or a universalserial bus (USB). A monitor 47 or other type of display device (such asa large screen TV set) is also connected to the system bus 23 via aninterface, such as a video adapter 48. Monitor 47 includes computermonitors, LCD panels, TV monitors, and the like. In addition to themonitor, personal computers typically include other peripheral outputdevices (not shown), such as speakers and printers.

[0045] The personal computer 20 may operate in a networked environmentusing logical connections to one or more remote computers, such as aremote computer 49. The remote computer 49 may be another personalcomputer, a server, a router, a network PC, a peer device or othercommon network node, and typically includes many or all of the elementsdescribed above relative to the personal computer, although only amemory storage device 50 has been illustrated in FIG. 1. The logicalconnections depicted in FIG. 1 include a local area network (LAN) 51 anda wide area network (WAN) 52. Such networking environments arecommonplace in offices, enterprise-wide computer networks, intranets,and the Internet.

[0046] When used in a LAN networking environment, the personal computer20 is connected to the local network 51 through a network interface oradapter 53. When used in a WAN networking environment, the personalcomputer 20 typically includes a modem 54 or other means forestablishing communications over the wide area network 52 such as theInternet. The modem 54, which may be internal or external, is connectedto the system bus 23 via the serial port interface 46. In a networkedenvironment, program modules depicted relative to the personal computer20, or portions thereof, may be stored in the remote memory storagedevice. It will be appreciated that the network connections shown areexemplary and other means of establishing a communications link betweenthe computers may be used.

[0047] An additional input to serial port interface 46 comes from remotecontrol 55. In this regard, the remote control 55 allows for remoteoperation of the computer system including the components andapplications found therein.

[0048]FIG. 2 shows an embodiment of a viewable display according to thetheater mode of the present invention. It is assumed that the image isdisplayed on a large screen such as a projection-type TV. When theoperating system is functioning and a user is not currently engaged inan application, the operating system outputs a full screen of an image202. An advantage of hiding all buttons, bars, icons, and the like whilewatching a displayed image (for example, while watching TV) is that theapplication model presents a unified functionally simple interface withno distractions. As different applications are executed, embodiments ofthe present invention contemplate each application consuming the entireviewing area 201 so as to provide to the user the largest possibleamount of information even though the user may be several feet from themonitor.

[0049]FIG. 3 shows display 201 after a user has requested that a startmenu appear. A start menu, as used herein, relates to a menu displayinga list of running and available applications. In one embodiment of theinvention, the start menu does not distinguish between running andavailable applications. This is to minimize what a user has to considerin selecting an application. To this end, the switching function ishandled by the operating system rather than by the user. As contemplatedby embodiments of the present invention, the start menu 203 is displayedupon request of a user when the user presses a dedicated start button ona remote control device or a keyboard. Once pressed, the keyboard or keypad transmits a signal to the host computer requesting a display of thestart menu 203. In response, the host computer outputs a video commandto display the start menu 203. As shown in FIG. 3, the start menu 203 isdisplayed with the various tasks or applications listed therein. Inparticular, start menu 203 includes task A 204, task B 205, other tasks206, and, finally, task N 207. Alternative embodiments of the inventioncontemplate the start menu being displayed at a variety of differentlocations on the display, the top, the sides, etc. Additionally, inorder to enhance the appearance, the start menu may slowly slide ontothe display over a time span of approximately 400 milliseconds.

[0050] Each task as shown in FIG. 3 has a numeric accelerator associatedwith it. A numeric accelerator is a number which is has a correspondingbutton on remote 55 or 401. To quickly select a task, a user need onlypress the button corresponding to the numeric accelerator displayed withthe desired task. For example, task A 204 has numeric accelerator 1,task B 205 has numeric accelerator 2, and task N 207 has numericaccelerator 0. The numeric accelerators in one embodiment are singlenumerical digits which uniquely identify a selected item. The advantageof single numerical digits is that they are easily represented byexisting numerical buttons on a standard remote control. Of course, inalternate embodiments multiple digits could also be used to representaccelerators, for example, by timing the speed of the user input todiscern whether a user was attempting to select a single or multipledigit accelerator. In addition, symbols other than digits couldalternatively be used. Such symbols could be associated with existing ornew buttons on the remote, preferably a single digit which uniquelyidentify a selected item.

[0051]FIG. 4 shows remote control 401 similar to that of remote control55 as shown in FIG. 1. Remote control 401 includes numeric keypad 404and directional arrows 405, 406, 407, and 408. In particular, remotecontrol 401 includes two additional buttons which support additionalfunctionality for the remote control. Using start button 402, menubutton 403, and numeric keypad 404, a user is able to launchapplications, select menu items, and operate application programswithout the need for a mouse or alphanumeric keyboard. Further, whilethe terms “start” and “menu” are used repeatedly herein, the terms areintended to be used generally as related to the operations performed bythem. In this regard, other names may be readily associated with thesefunctions. For example, the name “begin” may replace “start” and “list”or “function” may replace “menu”.

[0052] Numeric accelerators (corresponding to the available keypadsymbols) are assigned to applications or tasks available for executionand displayed on the start menu. In one embodiment of the presentinvention, tasks or applications are stored in a specified location inmemory with application identifiers pointing to the tasks orapplications. Representations of the application identifiers aredisplayed on the start menu. For example, the actual executable tasks orapplications may be stored in a specific location on a hard drive orother memory with the application identifiers stored in a file ordirectory specifically for start menu items.

[0053]FIG. 5 shows one process used to display the start menu items inconjunction with assigning application identifiers. In step 501, a waitloop waits for a start button to be pressed. Once pressed, the processretrieves the stored list of application identifiers in step 502. Next,the process sorts the list of application identifiers in step 503. Thesorting process may include alphabetical sorting, running v. not runningsorting, user definable sorting, etc. After sorting, the processretrieves the list of available keypad symbols (e.g., numerals 0 through9) in step 504 and assigns the available keypad symbols to the sortedapplication identifiers. The application identifiers with assignedsymbols are output to memory in step 506 and, finally, the systemdisplays the combination of the application identifiers with theassigned symbols in step 507. Alternatively, the application identifiersmay be initially assigned once to the symbols and, from then on, eachsuccessive display of the start menu displays the preset combinations.

[0054]FIG. 6 shows a process for using the numerical accelerators. Upondetection of a key press in step 601, the process determines whether astart button was pressed. If the start button was not pressed, then theprocess responds to the key press as appropriate as represented by pointA 603 (as later described in connection with FIG. 10). If the startbutton was pressed, the process displays at step 604 the start menu aspreviously described with reference to FIG. 5. Once a keypad symbolassociated with a numerical accelerator is pressed, step 605, theprocess attempts to access the application or task identified by thenumerical accelerator as shown in step 607. At any time, a user maypress the start button again to return back to the currently activeapplication. Finally, in step 607 the process determines whether theapplication was previously launched, and, if currently running, switchesthe current context to the running application, step 609, otherwise, itlaunches the application, step 608.

[0055] The tasks or applications 204 through 207 of the presentinvention may include a variety of user-definable tasks or applicationsincluding the option of define one task as a folder or collection ofother tasks. For example, a user (or the system) may define one task asa games folder containing a collection of games. By selecting the gamesfolder (by, for example, highlighting the games task and pressing theenter key) the start menu is expanded to display a menu listing of theselectable games. The representation and selection of these sub-leveltasks are explained in greater detail with respect to FIGS. 7 and 8.

[0056]FIG. 7 shows the start menu 203 of FIG. 3 after the games folderof the above example has been selected. The original set of tasks Athrough N is displayed as start menu 701 without numerical acceleratorsand with sub-level start menu 702 juxtaposed to start menu 701. Newtasks E through H now have numerical accelerators 1 through 4,respectively, which replace (and re-define) those previously associatedwith tasks A through N. The process by which tasks E through H arechosen is similar to the process as shown in FIG. 5.

[0057] The combination of nested tasks or applications through multiplelevels of start menus allows a user to input various combinationswithout confusion. Also, if the user remembers the keystroke combinationof accelerators which accesses nested applications, the user may inputthe combination and quickly be transported to the end task withoutsubstantive delay. Embodiments of the present invention provide aprocess for quickly processing the input keystrokes corresponding todisplayed accelerators as shown in greater detail in FIG. 8.

[0058]FIGS. 8 and 9 show flowcharts for decision making processesresident in the system for operation on selected start menu selections.Also shown are references to a menu which is described in greater detailherein with respect to FIGS. 10 through 12. The menu relates to the pulldown menus available in various graphical user interface (GUI)applications.

[0059] As shown in FIG. 8, the process waits at step 801 until a requestfor a start menu is received. Once a start menu request has beenreceived, the process determines whether one or more accelerator keyshave been pressed. If no such keys have been pressed, the processdisplays the appropriate start menu in step 806 then returns to step802. If a symbol key was pressed in step 802, then the process loads thepressed symbol to a buffer as shown in step 803. As shown in step 804,the process attempts to match and execute the tasks selected by thepressed keys. Finally, as shown in step 805, if the final task requiresthe display of a menu, then the process branches to step 806. Otherwisethe last task is implemented and the system again waits at step 801 foranother request for a start menu. In summary, the process shown in FIG.8 permits a user to quickly launch applications without waiting for aprevious application to launch or a menu to be displayed.

[0060] To facilitate the use of the system as shown in FIG. 1, multiplemodes of operation may be provided. In a first “PC mode”, applicationsoperate as conventionally configured to receive input from a keyboardand other input devices. In a second “theater mode”, applicationsreceive a different type of input, where the input is geared to remotecontrol of the computer system through a limited interface device. Inone embodiment, the primary input device for the theater mode is aremote control device such as remote control 401 of FIG. 4. Likewise,the primary input devices for the PC mode are primarily the keyboard 40and mouse 42 of FIG. 1. In particular, applications are informed of whatmode the system of FIG. 1 is currently operating. The user may select aparticular mode by actuating keys on either the remote control orkeyboard. In one embodiment, pressing any key on the remote controlcauses the system to switch into theater mode, while pressing any key onthe keyboard causes the PC mode to be actuated.

[0061] As shown in FIG. 9, when the start button 401 or the menu button402 is pressed, the process moves from step 901 to step 902. Next, thesystem attempts to determine the origin of the start or menu selectionin step 902. If the source of the start or menu button was remote 55,then the process branches to step 903. If the source of the start ormenu button was the PC input device, then the process branches to step906. From step 903, the process determines whether the system of FIG. 1is already operating in theater mode and, if so, displays the theatermode version of the start or menu button 904. If the system of FIG. 1 isnot in theater mode, then the process branches to step 905 where itswitches the mode to theater mode and informs other running applicationsthat the theater mode has been initiated. From step 905 the processbranches to step 904. If the input device from step 902 was a PC inputdevice, then the process branches to step 906 where the processdetermines whether the system of FIG. 1 is operating in PC mode. If thesystem is in PC mode already, the PC mode task bar and start menu aredisplayed. This may comprise, for example, a conventional taskbar andstart menu provided in Windows95. If the system is not already in PCmode, the process branches to step 907 where PC mode is initiated andother running applications are informed of the conversion to PC mode.Finally, step 908 is initiated at the conclusion of step 907.

[0062] In one embodiment, the menu for the various modes is modesensitive. Accordingly, when in different modes, different menus may bedisplayed for the same function (e.g., “start”). Also, the menu isapplication sensitive. Accordingly, when in different applications,pressing the menu button may display different menu options.

[0063]FIG. 10 shows a flowchart for an operation of the menu across thedifferent modes. From point A 603 of FIG. 6, the process determineswhether the menu button was the received key press (step 1001). If themenu button was not pressed, then the key press is forwarded to thecurrently active application, if any, (step 1005) and the currentapplication executes the key press accordingly. If no applications arerunning, the system displays a desktop window which can host acombination of files, controls, web pages, etc. For example, the desktopmay be set to display a television picture.

[0064] If a received key press in step 1001 was the menu button, thenthe process determines the mode of operation of the system of FIG. 1 instep 1002. If running in PC mode, the process commands the currentlyactive application to display its PC mode menu. However, if theoperation of the system is in theater mode, the system detects whichapplication is currently running. From step 1007, the process commandsthe currently active application to display its theater mode menu.

[0065] An example of various menus retrieved in theater mode is shown inFIGS. 11 and 12. Referring to FIG. 11, display 201 shows twoapplications currently running in theater mode. First application 1101shows a menu with options A 1102, B 1103, C 1104, and D 1105. Secondapplication 1106 shows a menu with options W 1107, X 1108, Y 1109, and Z1110. FIG. 12 shows another application running in theater mode in whichthe application is the television viewing mode. In one embodiment,pressing the menu button with no applications selected causes a displayof available channels such as channels 2 1201, 3 1202, 7 1203, and 91204. Providing a theater mode menu for each application (in addition totraditional menus in PC mode) permits the viewer to control applicationsusing a simple remote control device.

[0066] First application 1101 and second application 1106 include anidentifying title bars conveying an identifying icon and the title ofthe application. The title bar may remain hidden during use, beselectively present during operation, or may be constantly displayed inconjunction with the application. When selectively displayed, the titlebar may be displayed in response to the press of a menu button. Also,the title bar may be displayed whenever the application chooses todisplay the bar.

[0067] Current monitors, such as monitor 47 of FIG. 1, can display avariety of screen resolutions. For example, typical monitors can displayfrom 640×480 lines of resolution to 1024×780 lines of resolution ormore. However, when the user changes screen resolution, the pixelresolution and thus size of all items (including menus) are changed.

[0068]FIGS. 13 through 15 show user interfaces 201 as scaled through thechanges in resolution. In accordance with the present invention, thestart menu maintains a relatively consistent size between resolutionchanges so as to maintain the ability of a user to read the start menuat a distance. FIG. 13 shows an image 1301 with start menu 1302 of agiven size. FIG. 14 shows image 1401 corresponding to image 1301 but ata higher resolution. In FIG. 14, the start menu 1402 is maintained thesame size as that of the start menu 1302. Finally, FIG. 15 shows image1501 at highest resolution with start menu 1502 at the same size ofstart menus 1302 and 1402.

[0069] In summary, the user can decide how big on the screen the menusshould be, wherein the size is determined by a ratio of screen size tomenu size. In one embodiment, all content is offered at 640×480 pixelresolution as the largest resolution. Two variables can be provided tothe user to permit control over menu size. The first variable is theratio N (the “resolution factor”) of the current resolution to theresolution of the predefined resolution of the menu to be displayed (the“authored resolution”). Various ways exist to calculate the ratiobetween resolutions including comparing a ratio of horizontalresolutions, vertical resolution, or a combination of both horizontaland vertical resolutions. In the following example, the system comparesthe horizontal resolutions to arrive at the resolution factor N of 1.25.Current screen resolution: 800 (h) × 600 (v) Authored screen resolution:640 × 480 Resolution Factor N = 800/640 = 1.25

[0070] The system may then determine the size of the menu to bedisplayed by multiplying the resolution factor by the specified size ofthe authored item. For example, where an authored pixel size is 400pixels in 640×480 resolution, the new pixel size (from the aboveexample) is:

N×400=1.25×400=500 pixels.

[0071] In this regard, application of the resolution factor allowsscaling of provided image sizes between varying screen resolutions.Next, the system applies the resolution factor to derive the size of anitem to be displayed in the current screen resolution. Throughcalculating and applying the resolution factor, the system may maintaina constant menu size (or item size) across varying screen resolutions.

[0072] The second variable is the “bigness” or sizing factor which maybe set by a user to vary the amount of information available on adisplay by changing the size of the displayed information. The bignessfactor may range from 0.0 to 1.0, but this range may be constrained to0.5 to 1.0 so as to prevent a user from inadvertently shrinking the sizeof displayed information beyond a usable size. The bigness factor ismultiplied by the pixel size of an image as calculated from applicationof the resolution factor. In this instance, 0.5 specifies that a menushould be half as big as a 1.0 sized menu. So, if the above menu size of500 pixels was scaled by a bigness factor of 0.5, the resulting menusize would be 250 pixels. To this end, a user can scale menu items (andother displayable items as well) to increase the amount of informationon a screen (by decreasing the respective size of each item) or toincrease the viewable size of displayed information (by increasing therespective size of each item). Further, in accordance with one aspect ofthe invention, at least some applications are alerted to the currentmenu size whenever a change occurs. All fonts, buttons, and menus canthus be scaled to the correct size based on the current screenresolution and a user-specified “bigness” factor.

[0073]FIG. 16 shows the exchange of mode information between thedifferent layers of the processing system of FIG. 1. Applications (app.1 1604, app. 2 1605 and app. 3 1606) are said to reside at theapplication layer 1601. The mode layer 1602 shows the differing modesavailable to the processing system of FIG. 1. In particular, PC mode1608 and theater mode 1609 are shown. Other modes may be added as needsexist. Through the operation of the different input devices, a userselects in which mode to operate. This selection is passed to modeselector 1610 which selects from which configuration the system of FIG.1 should be operating. The specified mode is then displayed on monitor1603. Mode control 1611 passes to the various applications the mode inwhich the current system is operating. The information to be passed tothe applications may be a signal indicating which mode is currentlyspecified. Alternatively, a field may be set which is then accessed byeach application in turn when executed. As the multiple applications maybe running at the same time, updating all applications at once to achange in operating mode may overload the system resources of FIG. 1. Tothis end, alerting each application in turn, through setting a sharedfield, allows each application to update itself in turn when accessed bythe user. Accordingly, when a user switches multiple times between PCmode and theater mode, changing only the applications that need to bechanged as a user accesses them results in a savings of processingresources by not having to convert all applications when unnecessary.

[0074] As the theater mode of the present application is intended to beviewed at a distance from the user, one enhancement includeshighlighting the currently selected choice on the start menu orapplication menu. FIG. 17 shows an enhanced selection on the start menu.Tasks 1 1701, 2 1702, . . . N 1704 are listed on the start menu withtask 2 1702 highlighted. The highlighting may assume a variety of forms.As shown in FIG. 17, the highlighting is shown by an enlarged regionalwindow surrounding task 2 1702. To highlight the current selection inthis way, the size of window 1705 is specified in a design table whichis then accessed every time the user changes the current selection.Alternative highlighting measures may include changing the color, thesize of the font of the highlighted task, etc. The purpose of thehighlighting is to focus one's attention to the highlighted choice. Forsimplicity, the highlighted choice is referred to as a focus frame. Anadvantage of using a focus frame is that a single selection may behighlighted as compared to the altered color, multiple highlightedselections apparent in cascading menus of the prior art. In accordancewith one embodiment of the invention, the focus frame surrounds aselected item and does not change the appearance of the item. In analternate embodiment of the invention, the color and/or size of theselected item changes as well to further highlight the selection. Anadvantage to using a focus frame that does not change the appearance(including color and size) of the selected item is that the selectionremains unaltered. Accordingly, when the selected item is an image, theimage does not change appearance. An advantage of also changing thecolor or size of the highlighted item is that the highlighted items ismore readily discernible to a user at a distance.

[0075] To specify the size of a focus frame, the border spacing and boxwidth parameters of the operating system are controlled. Threeparameters may be controlled to create the appearance of the focus frame1705 as shown in FIG. 17. Two related parameters “x-border” and“y-border” represent the spacing between elements in the x and ydirections, respectively. In FIG. 17, the x-border and y-borderparameters are set to zero, resulting in the shapes (1701, 1702, 1703,and 1704) having no space between them. Alternatively, by increasing thex-border and y-border values, the spacing between the shapes (1701,1702, 1703, and 1704) may be increased.

[0076] The third adjustable parameter is “width” which allows adjustmentof the width of focus frame 1705 surrounding selection 1702. Where, asshown in FIG. 17, the value of the width parameter exceeds the values ofthe x-border and y-border parameters, the focus frame 1705 may overlapover non-selected items 1701 and 1703.

[0077] Another advantage of using a regional window as specified by thewidth parameter to create the focus frame is that it minimizes the drainon system resources as the regional window redraw function is lesstaxing than redrawing the entire menu with varying colors and remappingthe size, shape and color of all items.

[0078] In one embodiment, enhanced menu scrolling techniques are used.FIG. 18 shows a flowchart which describes moving the focus frame througha menu. From a displayed menu (step 1801), the process determineswhether an arrow button was pressed (step 1802) and, if not, the processbranches to step 1805 where the system performs whatever appropriateaction is associated with the received keypress (step 1805). Forexample, if a symbol or accelerator button was pressed, the systemprocesses the pressed keypad symbol as described in greater detail withrespect to FIG. 8. If an arrow button keypress was received, the processlocks the focus frame in its position on display 201 (step 1806) andbegins to scroll the menu through the focus frame (step 1807) whichbecomes fixed at a particular display area. In other words, in contrastto conventional systems, the menu choices scroll through a fixedlocation on the screen. Finally, the process branches back to step 1802to await another key press.

[0079] An alternative scrolling process is described in steps 1808through 1811. In this alternative embodiment, the process moves thefocus frame until near the screen border then locks the focus frame aspreviously described. As shown by a dashed arrow, instead of proceedingwith step 1806, the process proceeds from step 1804 to step 1808 when anarrow button is pressed. Step 1808 determines whether the focus frame isone cell away from the border of display 201. If not, the process movesthe focus frame in the direction of the pressed arrow button. If thefocus frame is one cell away from the border of display 201, then theprocess locks the position of the focus frame in its position on display201 (step 1809) and moves the menu through the focus frame. While step1808 shows a single cell, a number of cells may alternatively be spacedbetween the border and the lock position of the focus frame. Anadvantage in locking the focus frame at least one cell away from theborder includes the ability to keep the focus frame away from thedistorting effects of the edge of display 201 (for example, pin cushioneffects, color shifts, etc.) as well as allowing the user to see whatthe next item in the list of start menu is before moving to it.

[0080] The present invention contemplates that the numericalaccelerators will remain associated with the previously assigned itemswhile the menu scrolls. An advantage of keeping the numericalaccelerators associated with assigned items is that users becomeacquainted with the associations and expect that certain numericalaccelerators are associated with certain items. These expectations bythe user support the acceleration function achieved by the numericalaccelerators. In this regard, some items may have multiple digitnumerical accelerators.

[0081] An advantage of scrolling through the display choices is evidentwhen the number of choices for a menu exceeds the number of availableaccelerators. FIG. 19 shows an example of the process of FIG. 18including display 201 with start menu tasks F 1901, G 1902, H 1903,plurality of tasks 1905, P 1906, and Q 1907. In this example theaccelerators 1-0 are applied to tasks G-P. Tasks F and Q do not have anaccelerator assigned to them. An alternative embodiment contemplates thenumerical accelerators scrolling with the focus frame. By enabling thescrolling of the start menu, the assignment of the accelerators can beshifted as well. For example, FIG. 20 shows the embodiment of FIG. 18using steps 1806 and 1807. Once a user has pressed a down arrow button,the start menu shifts through focus frame 2004 which remains in a fixedscreen location. In FIG. 20, tasks G 2001 through task R 2007 aredisplayed. However, as with FIG. 19, the accelerators only cover a fewtasks, specifically tasks H 2002, task I 2003, the plurality of tasks2005 and task Q 2006. Notably, the accelerators have shifted to providethe user with a new set of options with the new display.

[0082] By conserving the number of accelerators through the enhancedfunctionality of the remote control's keypad, the system eliminates theneed for providing unnecessary keys (for example, a separate scroll key)while retaining all of the robust functionality to a user of a fullydeveloped and making the transition between alternative functionality ofthe keys seamless to the user.

[0083]FIG. 21 shows the start menu of FIG. 19 exhibiting the process ofFIG. 18, steps 1808 through steps 1811. In particular, task G 2101 nolonger has an accelerator, tasks H 2102 through Q 2105 haveaccelerators, now task R 2107 is visible and focus frame 2106 has movedto task Q 2105.

[0084] During operation of the menus, at times the titles of the variousapplications or tasks listed therein may not clearly make their contentsknown to the user. To more clearly represent to a user what selecting anapplication or task will do, embodiments of the present applicationincorporate a preview of the application or task as described in greaterdetail with respect to FIG. 22. FIG. 22 shows a start menu 2201 withapplication or task identifiers relating to various games. The menu 2201shows games with application identifiers of Monster Truck 2202, 4×4Truck World 2203, and World Cup Soccer 2206. Block 2205 represents aplurality of applications or tasks. Focus frame 2204 surrounds 4×4 TruckWorld 2203, highlighting it as the current selection. While not shown,for purposes of simplicity, numeric accelerators may be used asdescribed in greater detail above in conjunction with focus frame 2204.Alternative embodiments contemplate the accelerators used in place offocus frame 2204. Beside the name of each application or task in startmenu 2201 is an icon related to each application or task. For example,the Monster Truck application 2202 includes icon 2207, the 4×4 TruckWorld application 2203 includes icon 2208, and the World Cup Soccerapplication includes icon 2209.

[0085] Focus frame 2204 highlights application 2203, focusing a user'sattention to the current selection. To assist the user, an application,task and/or other item 2201 each has associated with it a list ofpreview parameters which preview the contents of each item (or otherusable information related to the item) to a user, once a specified menuitem is highlighted. The combination of preview parameters is considereda preview data structure. The preview is shown in preview area 2212. Thedisplayed preview can retrieve files which are not necessarily based onthe content of the selected application or task. For example, anapplication or task may comprise only an audio file containing aninterview. However, the preview of that file may include text, an imageof the speaker, or a short movie showing the interviewee speaking. Tothis end, to facilitate the quick execution of various previews when anapplication is selected, the preview data structure allows for quickexecution and display of the preview and does not require (nor prohibit)the launching of the executable associated with the applicationidentifier shown in start menu 2201. Alternative embodiments of thepresent invention contemplate the preview being even more disassociatedfrom the content of the selected application 2203. For example, thepreview files associated with the 4×4 Truck World application 2203 mayrelate to a commercial advertising the latest fishing supplies.

[0086] Present embodiments contemplate the preview data structure toprovide for a variety of multimedia presentations. For example, apreview data structure may include specified text, audio, and videopreviews or clips which can relate to the content of the application ortask. An example of a suitable preview data structure is representedbelow:

[0087] preview<App Name>=

[0088] previewtext=<App Name>_preview.txt

[0089] previewaudio—<App Name>_review.aud

[0090] previewmovie=<App Name>_review.mpg

[0091] where <App Name> is the name of the application represented inthe start menu 2201. The .txt, .aud, and .mpg file types are some of themany files available for use. Other file types may also be usedincluding RealAudio and RealVideo files, .doc files, Gif files, JPEGfiles, and the like. Applied to the present example of FIG. 22, wherethe 4×4 Truck World application 2203 is currently highlighted, thepreview file associated with the application 2203 is “preview 4×4 TruckWorld”. Alternative representations of the application name may be usedin place of the preview file data structure name. For example, theapplication name for “4×4 Truck World” may be concatenated to “4×4”,making the preview data structure's name “preview 4×4”.

[0092] The icon or movie or animation 2210 displays informationassociated with highlighted application 2203. Also, text 2211 providessome further descriptive text associated with highlighted application2203. The process associated with the selection and execution of thepreview information is shown in greater detail in FIG. 23. Once thefolder preview function of the start menu is initiated (by userdesignation or automatically by the system of FIG. 1 when a userhighlights an item at 2301), the process determines which application ortask is currently being highlighted 2302. The process then retrieves thepreview files associated with the current selection 2304 and displays orplays (as appropriate) the retrieved preview files 2305. In step 2306,the process determines whether the selection was chosen by the user forexecution. If so, the process retrieves and executes the selectedapplication in step 2307. If not, the process continues to display thepreview (at step 2308) until the users' focus moves to anotherhighlighted item (or until some other action takes place which takes thesystem out of preview mode). If the another item is highlighted, theprocess returns back to step 2302 where the new position of the currenthighlighted item is determined and previewed accordingly.

[0093] Alternatively, files relating to the preview of any task orapplication can be stored at a remote location. To access these files atthe remote location, the file name as specified in the preview datastructure described above may include the entire address of the file sothat one may retrieve the remotely stored preview file. For example, theentire address of the file may include the URL of the file as accessibleover the a network such as an intranet or the Internet. An advantage ofstoring the preview file at a remote location includes the ability toquickly update the remotely stored file and have users see the newpreview when next accessed by the users' system. Using a remotely storedfile and a URL in an application pointing to it, the provider of thepreview file may additionally provide time sensitive previews (includingtime sensitive offers, etc.) for various purposes including advertisingpurposes and the like.

[0094] Of course, it should be understood that the configuration of themodules discussed above is merely by way of example, and that it iscontemplated that other configurations and additional (or fewer) modulescould also have been implemented.

[0095] In general, it should be emphasized that the various componentsof embodiments of the present invention can be implemented in hardware,software or a combination thereof In such embodiments, the variouscomponents and steps would be implemented in hardware and/or software toperform the functions of the present invention. Any presently availableor future developed computer software language and/or hardwarecomponents can be employed in such embodiments of the present invention.For example, at least some of the functionality mentioned above could beimplemented using the C or C++ programming language.

[0096] It is also to be appreciated and understood that the specificembodiments of the invention described hereinbefore are merelyillustrative of the general principles of the invention. Variousmodifications may be made by those skilled in the art consistent withthe principles set forth hereinbefore.

We claim:
 1. A system for selecting options associated with a computercomprising: a display device for displaying a first list of menu optionsand a list of unique accelerators where each accelerator is associatedwith one of said first list of menu options; a receiving device forreceiving from a remote control device a key press associated with oneof said accelerators; an execution device for performing a functioncorresponding to the one accelerator.
 2. The system according to claim 1wherein each of said unique accelerators comprises a single numericdigit.
 3. The system according to claim 1, wherein said display devicealso displays an additional option not associated with one of said listof accelerators wherein said additional option is a currently runningapplication.
 4. The system according to claim 1, wherein said displaydevice also displays an additional option not associated with one ofsaid list of accelerators wherein all accelerators have been previouslyassigned to other options of said first list of options.
 5. The systemaccording to claim 1, wherein the function performed is to display asecond list of menu options associated with said received key presswherein said list of accelerators is removed from association with saidfirst list of options and associated with said second list of options.6. The system according to claim 1, further comprising a storage forstoring at least one additional key press associated with saidaccelerators in addition to said received key press; wherein saidexecution device determines the association of said at least oneadditional key press to at least one additional option and executes saidat least one additional option before said display device displays saidadditional option.
 7. A method for selecting options associated with acomputer through selection of dynamically assigned unique acceleratorscomprising the steps of: associating a first list of menu options and alist of unique accelerators where each accelerator is associated withone of said first list of options; displaying the combination of saidfirst list of options with said list of accelerators in a menu format;receiving from a remote control device a key press corresponding to oneof said list of accelerators; and, executing a function corresponding tothe one accelerator.
 8. The method according to claim 7 wherein each ofsaid unique accelerators comprises a single numeric digit.
 9. The methodaccording to claim 7, further comprising the step of: displaying anadditional option not associated with one of said list of acceleratorswherein said additional option is a currently running application. 10.The method according to claim 7, further comprising the step of:displaying an additional option not associated with one of said list ofaccelerators wherein all accelerators have been previously assigned toother options of said first list of options.
 11. The method according toclaim 7, further comprising the steps of: unassociating said list ofaccelerators from said first list of options upon execution of saidfunction; associating said list of accelerators with a second list ofoptions to be displayed in response to said execution; and displayingsaid second list of options with said associated list of accelerators.12. The method according to claim 7, further comprising the steps of:storing at least one additional key press associated with saidaccelerators in addition to said received key press; determining theassociation of said at least one additional key press to at least oneadditional option; executing said at least one additional option beforea display of said additional option.
 13. A computer-readable mediumhaving computer executable instructions for performing steps comprising:dynamically associating a first list of menu options and a list ofunique accelerators where each accelerator is associated with one ofsaid first list of options; displaying the combination of said firstlist of options with said list of accelerators in a menu format;receiving, from a remote control device, a key press associated with oneof said list of accelerators; executing a function corresponding to theone accelerator.
 14. The computer-readable medium of claim 13 havingfurther computer-executable instructions wherein each of said uniqueaccelerators comprises a single numeric digit.
 15. The computer-readablemedium of claim 13 having further computer-executable instructions forperforming the step of: displaying an additional option not associatedwith one of said list of accelerators wherein said additional option isa currently running application.
 16. The computer-readable medium ofclaim 13 having further computer-executable instructions for performingthe steps of: displaying an additional option not associated with one ofsaid list of accelerators wherein all accelerators have been previouslyassigned to other options of said first list of options.
 17. Thecomputer-readable medium of claim 13 having further computer-executableinstructions for performing the steps of: unassociating said list ofaccelerators from said first list of options upon execution of saidoption of said first list of options associated with said received keypress; associating said list of accelerators with a second list ofoptions to be displayed in response to said execution; and displayingsaid second list of options with said associated list of accelerators.18. The computer-readable medium of claim 13 having furthercomputer-executable instructions for performing the steps of: storing atleast one additional key press associated with said accelerators inaddition to said received key press; determining the association of saidat least one additional key press to at least one additional option;executing said at least one additional option before a display of saidadditional option.
 19. A system for controlling computer functions,comprising: a remote control device comprising a first button whichgenerates a first signal indicating that a menu should be displayed, asecond button which generates a second signal indicating that anapplication specific function should be performed, and a plurality ofnumeric keys each of which generates a numeric signal indicating anumeric selection; a computer including a receiver which receives thesignals generated by the remote control device; and a display devicecoupled to the computer and controlled by software executing on thecomputer; wherein the remote control device transmits signals to thereceiver of the computer over a wireless path; and wherein the computerin response to receiving the first signal causes the display device todisplay a menu comprising choices at least one of which has a associatednumeric accelerator and, in response to receiving one of the numericsignals, launches an application program associated with one of thenumeric accelerators and, in response to receiving the second signal,causes a launched application program to perform a function pertinent tothat particular application.
 20. The system of claim 19, wherein thecomputer in response to detecting the first signal provides informationto applications executing on the computer which causes them to displaymenu information in a different manner than if the first signal had notbeen received from the remote control.
 21. The system of claim 19,wherein the computer inhibits the display of all taskbars, menus, andbuttons until the first signal is received.
 22. The system of claim 19,wherein, in response to the launching of the application program, saidcomputer removes the association of said numeric accelerator from thechoices of the menu and associates said numeric accelerators withchoices of a nested menu.
 23. The system of claim 19, wherein theoperation of at least one of said first button, said second button, andsaid numeric keys causes said computer to switch from a first mode ofoperation to a second mode of operation.
 24. A method for controllingcomputer functions, comprising the steps of: providing a remote controldevice comprising a first button which generates a first signalindicating that a menu should be displayed, a second button whichgenerates a second signal indicating that an application specificfunction should be performed, and a plurality of numeric keys each ofwhich generates a numeric signal indicating a numeric selection;receiving at a computer the signals generated by the remote controldevice over a wireless path; in response to receiving the first signal,displaying on a display device coupled to the computer and controlled bysoftware executing on the computer a menu comprising choices each havingan associated numeric accelerator; in response to receiving one of thenumeric signals, launching an application program associated with one ofthe numeric accelerators; and, in response to receiving the secondsignal, causing a launched application program to perform a functionpertinent to that particular application.
 25. The method of claim 24,comprising the further steps of: in response to detecting the firstsignal, providing information from said computer to at least oneapplication executing on the computer; and causing said applications todisplay menu items in a different manner than if the second signal hadnot been received from the remote control device.
 26. The method ofclaim 24, including the step of: inhibiting the display of all taskbars,menus, and buttons until the start signal is received.
 27. The method ofclaim 24, comprising the further steps of: in response to the launchingof the application program, removing the association of said numericaccelerator from the choices of the menu; and, associating said numericaccelerators with choices of a nested menu.
 28. The method of claim 24,comprising the step of: switching from a first mode of operation to asecond mode of operation in response to the operation of at least one ofsaid first button, said second button, and said numeric keys.
 29. Acomputer-readable medium having computer executable instructions forperforming steps comprising: receiving at a computer signals generatedby a remote control device over a wireless path, said remote controldevice including a first button which generates a first signalindicating that a start menu should be displayed, a second button whichgenerates a menu signal indicating that an application menu should bedisplayed, and a plurality of numeric keys each of which generates anumeric signal indicating a numeric selection; in response to receivingthe first signal, displaying on a display device coupled to the computerand controlled by software executing on the computer a menu comprisingchoices each having an associated numeric accelerator; in response toreceiving one of the numeric signals, launching an application programassociated with one of the numeric accelerators; and, in response toreceiving the second signal, causing a launched application program todisplay a menu providing choices pertinent to that particularapplication.
 30. The computer-readable medium of claim 29 having furthercomputer-executable instructions for performing the steps of: inresponse to detecting the first signal, providing information from saidcomputer to at least one application executing on the computer; andcausing said application to display menu information in a differentmanner than if the start signal had not been received from the remotecontrol device.
 31. The computer-readable medium of claim 29 havingfurther computer-executable instructions for performing the step of:inhibiting the display of all taskbars, menus, and buttons until thefirst signal is received.
 32. The computer-readable medium of claim 29having further computer-executable instructions for performing the stepsof: in response to the launching of the application program, removingthe association of said numeric accelerator from the choices of themenu; and, associating said numeric accelerators with choices of anested menu.
 33. The computer-readable medium of claim 29 having furthercomputer-executable instructions for performing the step of: switchingfrom a first mode of operation to a second mode of operation in responseto the operation of at least one of said first button, said secondbutton, and said numeric keys.
 34. A system comprising: a computer; aninput device coupled to the computer which receives input from a user;and a display device coupled to the computer, wherein the display devicecan be operated in one of a plurality of screen resolutions; wherein thecomputer controls the display device to generate menus of a particularphysical size relative to the display device screen size in accordancewith input from the user, such that a user can control the size of themenus independently of resolution changes caused by changing to adifferent screen resolution.
 35. The system of claim 34, wherein thecomputer multiplies a sizing factor entered by the user with a currentscreen resolution to determine the size of the menu.
 36. A methodcomprising: operating a display device coupled to a computer in one of aplurality of screen resolutions; receiving at a computer input from auser via an input device; controlling said display device to generatemenus of a particular physical size relative to the display devicescreen size by determining a ratio of screen size to menu size inaccordance with input from the user, such that a user can control thesize of the menus independently of resolution changes caused by changingto a different screen resolution.
 37. The method of claim 36, whereinthe computer in said controlling step multiplies a sizing factor enteredby the user with a current screen resolution to determine the size ofthe menu.
 38. A computer-readable medium having computer executableinstructions for performing steps comprising: operating a display devicecoupled to a computer in one of a plurality of screen resolutions;receiving at a computer input from a user via an input device;controlling said display device to generate menus of a particularphysical size relative to the display device screen size accordance withinput from the user, such that a user can control the size of the menusindependently of resolution changes caused by changing to a differentscreen resolution.
 39. The computer-readable medium of claim 38 havingfurther computer-executable instructions for performing the step of:multiplying a sizing factor entered by the user with a current screenresolution to determine the size of the menu.
 40. A system forhighlighting a current selection comprising: a storage for storing alist of menu options; a display for displaying the list of menu optionsin response to a start or menu button, each option residing in a shape,one of said list being the current selection; a processor fordetermining which of said list of menu options is the current selection,for enlarging the size of said shape, and for controlling said displayto display said enlarged shape surrounding said current selection. 41.The system according to claim 40, wherein the shape is a rectangle. 42.The system according to claim 40, where said processor alters the sizeof said shape by altering a registered window size applied to thecurrent selection.
 43. A method for highlighting a current selectioncomprising the steps of: displaying a list of menu options in responseto the reception of a signal corresponding to a start or menu buttonwith each option residing in a shape where one of said list being thecurrent selection; determining by a processor which of said list of menuoptions is the current selection; enlarging the size of said shapesurrounding said current selection; and, controlling said display todisplay said enlarged shape surrounding said current selection.
 44. Themethod according to claim 43, wherein the shape is a rectangle.
 45. Themethod according to claim 43, wherein said enlarging step enlarges thesize of said shape by altering a registered window size applied to thecurrent selection.
 46. A computer-readable medium having computerexecutable instructions for performing steps comprising: displaying alist of menu options in response to the reception of a signalcorresponding to a start or menu button with each option residing in ashape where one of said list being the current selection; determining bya processor which of said list of menu options is the current selection;enlarging the size of said shape surrounding said current selection;and, controlling said display to display said enlarged shape surroundingsaid current selection.
 47. The computer-readable medium of claim 46wherein said computer-executable instructions define the shape as arectangle.
 48. The computer-readable medium of claim 46 wherein saidcomputer-executable instructions for performing the enlarging stepenlarges the size of said shape by altering a registered window sizeapplied to the current selection.
 49. A system for scrolling through alist of menu options displayed on display comprising: a display fordisplaying a list of menu options in response to a start or menu buttonwhere one of said menu options is a current selection; a receiver forreceiving a user command to alter the current selection with respect tothe list of menu options; a processor for controlling said list of menuoptions to scroll through the current location of said current selectionas currently displayed on said display and for controlling the displayto display the list of menu options with the new current selection asscrolled by said processor.
 50. The system of claim 49, wherein saidprocessor moves the location of said current selection in the directionof an end of said list of menu options before moving said list of menuoptions through said current location.
 51. The system according to claim50, wherein said list of menu options is displayed in a number of cells,and wherein said processor scrolls said list of menu options at leastone cell removed from a border of said display.
 52. A method forscrolling through a list of menu options displayed on display comprisingthe steps of: displaying on a display a list of menu options in responseto receiving a start or menu button; designating one of said menuoptions as a current selection; receiving a user command to alter thecurrent selection among the list of menu options; controlling said listof menu options to scroll through the current location of said currentselection as currently displayed; controlling the display to display thelist of menu options with the new current selection as scrolled by saidprocessor.
 53. The method of claim 52, comprising the further step of:moving the location of said current selection in the direction of an endof said list of menu options before moving said list of menu optionsthrough said current location.
 54. The method of claim 53, wherein saidlist of menu options is displayed in a number of cells, and furthercomprising the steps of: fixing the location of said current selectioncell; and, scrolling said list of menu options through said currentselection cell at least one cell removed from a border of said display.55. A computer-readable medium having computer executable instructionsfor performing steps comprising: displaying on a display a list of menuoptions in response to receiving a start or menu button; designating oneof said menu options as a current selection; receiving a user command toalter the current selection among the list of menu options; controllingsaid list of menu options to scroll through the current location of saidcurrent selection as currently displayed; controlling the display todisplay the list of menu options with the new current selection asscrolled by said processor.
 56. The computer-readable medium of claim 55having further computer-executable instructions for performing the stepof: moving the location of said current selection in the direction of anend of said list of menu options before moving said list of menu optionsthrough said current location.
 57. The computer-readable medium of claim56 having further computer-executable instructions for performing thestep of: fixing the location of said current selection cell; and,scrolling said list of menu options through said current selection cellat least one cell removed from a border of said display.